딥러닝 기반 언어 모델 (Deep Learning-based Language Model)
1. 개요
딥러닝 기반 언어 모델은 인공신경망을 이용하여 단어 시퀀스의 확률 분포를 학습함으로써, 주어진 텍스트 다음에 올 단어를 예측하거나 문장의 의미를 수치적으로 표현하는 인공지능 모델이다. 과거의 통계적 방식에서 벗어나 대규모 데이터와 심층 신경망을 결합함으로써 자연어 처리(NLP, Natural Language Processing)의 패러다임을 규칙 기반에서 데이터 기반의 확률적 추론으로 전환시켰으며, 이는 현대의 거대 언어 모델(LLM)로 진화하는 토대가 되었다.
2. 기본 원리 및 작동 방식
2.1 텍스트의 수치화와 임베딩
컴퓨터는 텍스트를 직접 처리할 수 없으므로, 이를 수치 벡터로 변환하는 과정이 필요하다.
- 토크나이징(Tokenizing): 문장을 의미 있는 최소 단위인 '토큰'으로 나누는 과정이다. 최근에는 단어 단위의 한계를 극복하기 위해 BPE(Byte Pair Encoding)와 같은 서브워드(Subword) 토크나이징 방식을 주로 사용한다. BPE는 빈도수가 높은 문자열 조합을 하나의 토큰으로 묶어, 신조어나 오타(Out-of-Vocabulary 문제)에 유연하게 대응한다.
- 임베딩(Embedding): 토큰화된 단어를 고차원 밀집 벡터(Dense Vector)로 변환하는 과정이다. 유사한 의미를 가진 단어들은 벡터 공간 상에서 서로 가까운 거리에 위치하게 되어 모델이 단어 간의 의미적 관계를 학습할 수 있게 한다. 초기에는 Word2Vec, GloVe와 같이 단어당 하나의 고정된 벡터를 갖는 정적 임베딩(Static Embedding) 방식이 쓰였으나, 현재는 문맥에 따라 동일 단어도 다른 벡터로 표현되는 문맥적 임베딩(Contextualized Embedding) 방식이 주를 이룬다.
2.2 확률적 모델링
언어 모델의 핵심은 $P(w_{n} | w_{1}, ..., w_{n-1})$ 즉, 이전 단어들이 주어졌을 때 다음 단어 $w_n$이 나타날 확률을 최대화하는 것이다.
2.3 통계적 모델 vs 딥러닝 모델 비교
| 구분 |
통계적 언어 모델 (N-gram) |
딥러닝 기반 언어 모델 (Neural LM) |
| 접근 방식 |
단어의 단순 빈도수 계산 |
신경망을 통한 확률 분포 학습 |
| 표현 방식 |
희소 벡터 (One-hot Encoding) |
밀집 벡터 (Word Embedding) |
| 문맥 파악 |
매우 짧은 범위(N개 단어)만 고려 |
장거리 의존성(Long-term Dependency) 파악 가능 |
| 희소성 문제 |
학습 데이터에 없는 조합은 확률 0 (Sparsity) |
유사 단어를 통해 확률 추론 가능 (Smoothing 효과) |
3. 모델의 발전 과정 (아키텍처)
- RNN (Recurrent Neural Network): 데이터를 순차적으로 처리하여 이전 정보를 다음 단계로 전달한다. 하지만 문장이 길어질수록 앞부분의 정보를 잊어버리는 기울기 소실(Vanishing Gradient) 문제가 발생한다.
- LSTM (Long Short-Term Memory): 게이트(Gate) 구조를 도입하여 어떤 정보를 유지하고 버릴지 결정함으로써 RNN의 장기 의존성 문제를 개선했다.
- Attention 메커니즘: 출력 단어를 예측할 때 입력 문장의 모든 단어를 훑어보며, 현재 시점에서 가장 중요한 단어에 더 높은 가중치를 두는 방식이다.
- Transformer: RNN을 완전히 제거하고 오직 Attention(특히 Self-Attention)만으로 구성된 구조이다. 순차적 구조가 없는 대신 Positional Encoding을 통해 단어의 위치 정보를 주입한다. 병렬 처리가 가능해져 학습 속도가 획기적으로 빨라졌으며, 현재 모든 LLM의 표준 아키텍처가 되었다.
3.2 Self-Attention 의사 코드 (PyTorch 스타일)
import torch
import torch.nn.functional as F
def self_attention(query, key, value):
# query, key, value는 입력 벡터에 각각 가중치 행렬 W_Q, W_K, W_V가 곱해진 결과물이다.
# 1. Query와 Key의 내적을 통해 유사도(Attention Score) 계산
# d_k는 벡터의 차원 수
d_k = query.size(-1)
scores = torch.matmul(query, key.transpose(-2, -1)) / torch.sqrt(torch.tensor(d_k))
# 2. Softmax를 통해 확률 분포로 변환 (가중치 합이 1이 되도록 함)
attention_weights = F.softmax(scores, dim=-1)
# 3. 가중치를 Value 벡터에 곱하여 최종 문맥 벡터 산출
output = torch.matmul(attention_weights, value)
return output, attention_weights
4. 주요 모델 유형 및 사례
현대 언어 모델은 Transformer의 어느 부분을 사용하느냐에 따라 크게 세 가지 유형으로 나뉜다.
4.1 모델 구조 비교 도식
- BERT (Encoder-only):
[Input] → [Encoder Block x N] → [Representation] (양방향 문맥 이해)
- GPT (Decoder-only):
[Input] → [Decoder Block x N] → [Next Token Prediction] (단방향 텍스트 생성)
- T5/BART (Encoder-Decoder):
[Input] → [Encoder] → [Cross-Attention] → [Decoder] → [Output] (시퀀스 변환)
4.2 모델 유형 상세
| 모델 유형 |
중심 구조 |
학습 목적 |
대표 모델 |
주요 활용 사례 |
| Auto-encoding |
Encoder |
문장 중간의 빈칸 채우기 (Masked LM) |
BERT |
감성 분석, 개체명 인식, 질의응답 |
| Auto-regressive |
Decoder |
다음 단어 예측 (Causal LM) |
GPT 시리즈 |
텍스트 생성, 챗봇, 스토리텔링 |
| Seq2Seq |
Encoder-Decoder |
입력 시퀀스를 출력 시퀀스로 변환 |
T5, BART |
기계 번역, 문서 요약, 문법 교정 |
5. 학습 방법 및 최적화
5.1 자기지도학습 (Self-supervised Learning)
정답 라벨이 없는 방대한 양의 텍스트 데이터 자체를 정답으로 사용하는 방식이다. 예를 들어, "서울은 [MASK]의 수도이다"라는 문장에서 [MASK]에 들어갈 단어를 맞히게 함으로써 언어의 구조와 지식을 스스로 학습하게 한다.
5.2 미세 조정 (Fine-tuning)
사전 학습(Pre-training)된 범용 모델을 특정 목적(예: 법률 상담, 의료 진단)의 소규모 데이터셋으로 추가 학습시켜 해당 도메인에 최적화하는 과정이다. 이는 모델이 이미 습득한 일반적인 언어 능력 위에 특정 도메인의 전문 지식이나 특정 작업(Task) 수행 능력을 덧입히는 과정으로, 전체 파라미터를 업데이트하는 Full Fine-tuning과 일부 파라미터만 조정하는 효율적 미세 조정 방식(PEFT)으로 나뉜다.
5.3 LLM 평가 지표
- 내재적 평가 지표 (Intrinsic Metrics): 모델 자체의 언어 모델링 성능을 측정한다.
- Perplexity (PPL): 모델이 다음 단어를 얼마나 잘 예측하는지를 나타내는 척도이다. 확률 분포의 '당혹도'를 의미하며, 값이 낮을수록 모델이 텍스트를 더 정확하게 예측하고 있음을 뜻한다.
- 외재적 평가 지표 (Extrinsic Metrics): 특정 다운스트림 태스크의 수행 능력을 측정한다.
- BLEU / ROUGE: 기계 번역이나 요약 모델에서 정답 문장과 생성 문장 간의 단어 중복도를 측정하는 지표이다.
6. RLHF 및 최신 정렬 기술
모델의 크기가 커짐에 따라 단순히 다음 단어를 예측하는 것만으로는 인간의 가치관이나 안전 가이드라인을 따르게 하기 어렵다. 이를 해결하기 위해 정렬(Alignment) 기술이 사용된다.
- RLHF (Reinforcement Learning from Human Feedback): 인간의 선호도를 모델에 반영하는 핵심 기법이다.
- SFT (Supervised Fine-Tuning): 고품질의 지시어-답변 쌍으로 모델을 1차 학습시킨다.
- 보상 모델 학습 (Reward Modeling): 모델이 생성한 여러 답변 중 인간이 선호하는 순위를 매겨, 어떤 답변이 '좋은' 답변인지 판별하는 보상 모델을 학습시킨다.
- 강화학습 최적화: PPO(Proximal Policy Optimization)와 같은 알고리즘을 통해 보상 모델로부터 높은 점수를 받는 방향으로 언어 모델의 정책을 업데이트한다.
- DPO (Direct Preference Optimization): 복잡한 보상 모델과 강화학습 과정 없이, 선호 데이터(Preferred vs Rejected)를 직접 사용하여 모델을 최적화하는 최신 효율적 정렬 방식이다.
7. 주요 활용 분야 및 한계
7.1 활용 분야
- 콘텐츠 생성: 이메일 작성, 코드 생성, 창작 글쓰기.
- 정보 추출 및 요약: 방대한 문서의 핵심 내용 요약 및 특정 정보 추출.
- 대화형 인터페이스: 지능형 챗봇 및 가상 비서.
7.2 한계점 및 해결 방안
- 환각 현상 (Hallucination): 모델이 사실이 아닌 내용을 매우 확신에 찬 어조로 생성하는 현상이다. $\rightarrow$ RAG (Retrieval-Augmented Generation)를 통해 외부 신뢰 지식베이스에서 정보를 검색하여 답변의 근거를 제시함으로써 해결한다.
- 편향성 (Bias): 학습 데이터에 포함된 사회적, 문화적 편견을 그대로 학습하여 출력하는 문제이다. $\rightarrow$ 데이터 정제 및 RLHF/DPO를 통한 가치 정렬로 완화한다.
- 연산 비용: 모델의 파라미터 수가 증가함에 따라 학습 및 추론에 막대한 GPU 자원과 전력이 소모된다. $\rightarrow$ 양자화(Quantization), LoRA(Low-Rank Adaptation) 등의 효율적 학습/추론 기법을 도입한다.
- 컨텍스트 윈도우 제한: 한 번에 처리할 수 있는 텍스트의 길이에 물리적 한계가 존재한다. $\rightarrow$ FlashAttention 적용 및 Long-context window 확장 기술을 통해 처리 가능 길이를 늘리고 있다.
# 딥러닝 기반 언어 모델 (Deep Learning-based Language Model)
## 1. 개요
딥러닝 기반 언어 모델은 인공신경망을 이용하여 단어 시퀀스의 확률 분포를 학습함으로써, 주어진 텍스트 다음에 올 단어를 예측하거나 문장의 의미를 수치적으로 표현하는 인공지능 모델이다. 과거의 통계적 방식에서 벗어나 대규모 데이터와 심층 신경망을 결합함으로써 자연어 처리(NLP, Natural Language Processing)의 패러다임을 규칙 기반에서 데이터 기반의 확률적 추론으로 전환시켰으며, 이는 현대의 거대 언어 모델(LLM)로 진화하는 토대가 되었다.
## 2. 기본 원리 및 작동 방식
### 2.1 텍스트의 수치화와 임베딩
컴퓨터는 텍스트를 직접 처리할 수 없으므로, 이를 수치 벡터로 변환하는 과정이 필요하다.
- **토크나이징(Tokenizing):** 문장을 의미 있는 최소 단위인 '토큰'으로 나누는 과정이다. 최근에는 단어 단위의 한계를 극복하기 위해 **BPE(Byte Pair Encoding)**와 같은 서브워드(Subword) 토크나이징 방식을 주로 사용한다. BPE는 빈도수가 높은 문자열 조합을 하나의 토큰으로 묶어, 신조어나 오타(Out-of-Vocabulary 문제)에 유연하게 대응한다.
- **임베딩(Embedding):** 토큰화된 단어를 고차원 밀집 벡터(Dense Vector)로 변환하는 과정이다. 유사한 의미를 가진 단어들은 벡터 공간 상에서 서로 가까운 거리에 위치하게 되어 모델이 단어 간의 의미적 관계를 학습할 수 있게 한다. 초기에는 Word2Vec, GloVe와 같이 단어당 하나의 고정된 벡터를 갖는 정적 임베딩(Static Embedding) 방식이 쓰였으나, 현재는 문맥에 따라 동일 단어도 다른 벡터로 표현되는 문맥적 임베딩(Contextualized Embedding) 방식이 주를 이룬다.
### 2.2 확률적 모델링
언어 모델의 핵심은 $P(w_{n} | w_{1}, ..., w_{n-1})$ 즉, 이전 단어들이 주어졌을 때 다음 단어 $w_n$이 나타날 확률을 최대화하는 것이다.
### 2.3 통계적 모델 vs 딥러닝 모델 비교
| 구분 | 통계적 언어 모델 (N-gram) | 딥러닝 기반 언어 모델 (Neural LM) |
| :--- | :--- | :--- |
| **접근 방식** | 단어의 단순 빈도수 계산 | 신경망을 통한 확률 분포 학습 |
| **표현 방식** | 희소 벡터 (One-hot Encoding) | 밀집 벡터 (Word Embedding) |
| **문맥 파악** | 매우 짧은 범위(N개 단어)만 고려 | 장거리 의존성(Long-term Dependency) 파악 가능 |
| **희소성 문제** | 학습 데이터에 없는 조합은 확률 0 (Sparsity) | 유사 단어를 통해 확률 추론 가능 (Smoothing 효과) |
## 3. 모델의 발전 과정 (아키텍처)
### 3.1 RNN에서 Transformer까지
1. **RNN (Recurrent Neural Network):** 데이터를 순차적으로 처리하여 이전 정보를 다음 단계로 전달한다. 하지만 문장이 길어질수록 앞부분의 정보를 잊어버리는 **기울기 소실(Vanishing Gradient)** 문제가 발생한다.
2. **LSTM (Long Short-Term Memory):** 게이트(Gate) 구조를 도입하여 어떤 정보를 유지하고 버릴지 결정함으로써 RNN의 장기 의존성 문제를 개선했다.
3. **Attention 메커니즘:** 출력 단어를 예측할 때 입력 문장의 모든 단어를 훑어보며, 현재 시점에서 가장 중요한 단어에 더 높은 가중치를 두는 방식이다.
4. **Transformer:** RNN을 완전히 제거하고 오직 Attention(특히 Self-Attention)만으로 구성된 구조이다. 순차적 구조가 없는 대신 **Positional Encoding**을 통해 단어의 위치 정보를 주입한다. 병렬 처리가 가능해져 학습 속도가 획기적으로 빨라졌으며, 현재 모든 LLM의 표준 아키텍처가 되었다.
### 3.2 Self-Attention 의사 코드 (PyTorch 스타일)
```python
import torch
import torch.nn.functional as F
def self_attention(query, key, value):
# query, key, value는 입력 벡터에 각각 가중치 행렬 W_Q, W_K, W_V가 곱해진 결과물이다.
# 1. Query와 Key의 내적을 통해 유사도(Attention Score) 계산
# d_k는 벡터의 차원 수
d_k = query.size(-1)
scores = torch.matmul(query, key.transpose(-2, -1)) / torch.sqrt(torch.tensor(d_k))
# 2. Softmax를 통해 확률 분포로 변환 (가중치 합이 1이 되도록 함)
attention_weights = F.softmax(scores, dim=-1)
# 3. 가중치를 Value 벡터에 곱하여 최종 문맥 벡터 산출
output = torch.matmul(attention_weights, value)
return output, attention_weights
```
## 4. 주요 모델 유형 및 사례
현대 언어 모델은 Transformer의 어느 부분을 사용하느냐에 따라 크게 세 가지 유형으로 나뉜다.
### 4.1 모델 구조 비교 도식
- **BERT (Encoder-only):** `[Input] → [Encoder Block x N] → [Representation]` (양방향 문맥 이해)
- **GPT (Decoder-only):** `[Input] → [Decoder Block x N] → [Next Token Prediction]` (단방향 텍스트 생성)
- **T5/BART (Encoder-Decoder):** `[Input] → [Encoder] → [Cross-Attention] → [Decoder] → [Output]` (시퀀스 변환)
### 4.2 모델 유형 상세
| 모델 유형 | 중심 구조 | 학습 목적 | 대표 모델 | 주요 활용 사례 |
| :--- | :--- | :--- | :--- | :--- |
| **Auto-encoding** | Encoder | 문장 중간의 빈칸 채우기 (Masked LM) | BERT | 감성 분석, 개체명 인식, 질의응답 |
| **Auto-regressive** | Decoder | 다음 단어 예측 (Causal LM) | GPT 시리즈 | 텍스트 생성, 챗봇, 스토리텔링 |
| **Seq2Seq** | Encoder-Decoder | 입력 시퀀스를 출력 시퀀스로 변환 | T5, BART | 기계 번역, 문서 요약, 문법 교정 |
## 5. 학습 방법 및 최적화
### 5.1 자기지도학습 (Self-supervised Learning)
정답 라벨이 없는 방대한 양의 텍스트 데이터 자체를 정답으로 사용하는 방식이다. 예를 들어, "서울은 [MASK]의 수도이다"라는 문장에서 [MASK]에 들어갈 단어를 맞히게 함으로써 언어의 구조와 지식을 스스로 학습하게 한다.
### 5.2 미세 조정 (Fine-tuning)
사전 학습(Pre-training)된 범용 모델을 특정 목적(예: 법률 상담, 의료 진단)의 소규모 데이터셋으로 추가 학습시켜 해당 도메인에 최적화하는 과정이다. 이는 모델이 이미 습득한 일반적인 언어 능력 위에 특정 도메인의 전문 지식이나 특정 작업(Task) 수행 능력을 덧입히는 과정으로, 전체 파라미터를 업데이트하는 Full Fine-tuning과 일부 파라미터만 조정하는 효율적 미세 조정 방식(PEFT)으로 나뉜다.
### 5.3 LLM 평가 지표
- **내재적 평가 지표 (Intrinsic Metrics):** 모델 자체의 언어 모델링 성능을 측정한다.
- **Perplexity (PPL):** 모델이 다음 단어를 얼마나 잘 예측하는지를 나타내는 척도이다. 확률 분포의 '당혹도'를 의미하며, 값이 낮을수록 모델이 텍스트를 더 정확하게 예측하고 있음을 뜻한다.
- **외재적 평가 지표 (Extrinsic Metrics):** 특정 다운스트림 태스크의 수행 능력을 측정한다.
- **BLEU / ROUGE:** 기계 번역이나 요약 모델에서 정답 문장과 생성 문장 간의 단어 중복도를 측정하는 지표이다.
## 6. RLHF 및 최신 정렬 기술
모델의 크기가 커짐에 따라 단순히 다음 단어를 예측하는 것만으로는 인간의 가치관이나 안전 가이드라인을 따르게 하기 어렵다. 이를 해결하기 위해 **정렬(Alignment)** 기술이 사용된다.
- **RLHF (Reinforcement Learning from Human Feedback):** 인간의 선호도를 모델에 반영하는 핵심 기법이다.
1. **SFT (Supervised Fine-Tuning):** 고품질의 지시어-답변 쌍으로 모델을 1차 학습시킨다.
2. **보상 모델 학습 (Reward Modeling):** 모델이 생성한 여러 답변 중 인간이 선호하는 순위를 매겨, 어떤 답변이 '좋은' 답변인지 판별하는 보상 모델을 학습시킨다.
3. **강화학습 최적화:** PPO(Proximal Policy Optimization)와 같은 알고리즘을 통해 보상 모델로부터 높은 점수를 받는 방향으로 언어 모델의 정책을 업데이트한다.
- **DPO (Direct Preference Optimization):** 복잡한 보상 모델과 강화학습 과정 없이, 선호 데이터(Preferred vs Rejected)를 직접 사용하여 모델을 최적화하는 최신 효율적 정렬 방식이다.
## 7. 주요 활용 분야 및 한계
### 7.1 활용 분야
- **콘텐츠 생성:** 이메일 작성, 코드 생성, 창작 글쓰기.
- **정보 추출 및 요약:** 방대한 문서의 핵심 내용 요약 및 특정 정보 추출.
- **대화형 인터페이스:** 지능형 챗봇 및 가상 비서.
### 7.2 한계점 및 해결 방안
- **환각 현상 (Hallucination):** 모델이 사실이 아닌 내용을 매우 확신에 찬 어조로 생성하는 현상이다. $\rightarrow$ **RAG (Retrieval-Augmented Generation)**를 통해 외부 신뢰 지식베이스에서 정보를 검색하여 답변의 근거를 제시함으로써 해결한다.
- **편향성 (Bias):** 학습 데이터에 포함된 사회적, 문화적 편견을 그대로 학습하여 출력하는 문제이다. $\rightarrow$ 데이터 정제 및 RLHF/DPO를 통한 가치 정렬로 완화한다.
- **연산 비용:** 모델의 파라미터 수가 증가함에 따라 학습 및 추론에 막대한 GPU 자원과 전력이 소모된다. $\rightarrow$ **양자화(Quantization)**, **LoRA(Low-Rank Adaptation)** 등의 효율적 학습/추론 기법을 도입한다.
- **컨텍스트 윈도우 제한:** 한 번에 처리할 수 있는 텍스트의 길이에 물리적 한계가 존재한다. $\rightarrow$ **FlashAttention** 적용 및 **Long-context window 확장 기술**을 통해 처리 가능 길이를 늘리고 있다.